﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAL;
using Entities;

namespace QuanLyBilliards_Coffee
{
    public enum KieuTim
    {
        SoDT,
        TenNhaCC,
        HHCungCap
    }
    public partial class FromNhaCC : Form
    {
        public KieuTim kieu;
        public INhaCungCapRepository nhc = new NhaCungCapRepository();
        public static string mancc=null;
        public static string tenncc;
        public static bool state=false;
        public FromNhaCC()
        {
            InitializeComponent();
        }
        NhaCungCap ncc = new NhaCungCap();
        //public bool KiemTraThongTinTimKiemNCC(ref string s)
        //{
        //    //if (cbbKieuTimKIemNCC.SelectedIndex == 0)
        //    //    s += "bạn chưa chọn kiểu tìm kiếm";
        //    //if (XuLyChuoiVao.CatKhoangTrangDu(txtThongTinTimKiemNCC.Text) == "")
        //    //    s += "bạn chưa nhập thông tin tìm kiếm";
        //    //if (cbbKieuTimKIemNCC.SelectedIndex == 4 && !XuLyChuoiVao.KiemTraSDT(txtThongTinTimKiemNCC.Text))
        //    //    s += "số điện thoại phải bắt đầu 0 và dài 10-11 số";
        //    //if (s == "")
        //    //    return true;
        //    //return false;
        //}

        private void btnOKTimKiemNCC_Click(object sender, EventArgs e)
        {
            //string s = "";
            //if (!KiemTraThongTinTimKiemNCC(ref s))
            //{
            //    MessageBox.Show(s);
            //}
            //else
            //{
            //    MessageBox.Show("bạn chưa xử lý tì kiếm");
            //}
        }

        private void btnThemNcC_Click(object sender, EventArgs e)
        {

            FormThemNCC frm = new FormThemNCC();
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();
        }

        void frm_FormClosed(object sender, FormClosedEventArgs e)
        {
            LoadLV(nhc.GetAll().ToList());
        }
        //private void LoadNhaCC()
        //{
        //    NhaCungCapRepository ncc = new NhaCungCapRepository();
        //    IQueryable<NhaCungCap> list = ncc.GetAll();
        //    foreach (NhaCungCap nc in list)
        //    {
        //        cbbKieuTimKIemNCC.Items.Add(nc);
        //    }
        //    cbbKieuTimKIemNCC.DisplayMember = "TenNCC";
        //    cbbKieuTimKIemNCC.ValueMember = "MaNCC";
        //    cbbKieuTimKIemNCC.SelectedIndex = -1;
        //}

        private void LoadLV(List<NhaCungCap> list)
        {
            string kq = "";
            lvNhaCungCap.Items.Clear();
            NhaCungCap ct;
            foreach (NhaCungCap ncc in list)
            {
                kq = "";
                ListViewItem item = new ListViewItem(ncc.MaNCC);
                item.SubItems.Add(ncc.TenNCC);
                ct = new NhaCungCap();
                ct = nhc.getByIdDetail(ncc.MaNCC);

                if (ct.dshanghoa.Count > 0)
                {
                    kq += ct.TenDSHH;
                }
                else
                    kq += "Chưa Có Hàng Hóa Nào";


                item.SubItems.Add(kq);
                item.SubItems.Add(ncc.SDT);
                item.SubItems.Add(ncc.DiaChi);
                //item.SubItems.Add(ncc.DiaChi);
                lvNhaCungCap.Items.Add(item);
            }


        }
        private void lvNhaCungCap_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (this.lvNhaCungCap.SelectedItems.Count > 0)
            {
                mancc = this.lvNhaCungCap.SelectedItems[0].SubItems[0].Text;

            }
        }

        private void FromNhaCC_Load(object sender, EventArgs e)
        {
            LoadLV(nhc.GetAll().ToList());
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton rd = sender as RadioButton;
            switch (rd.Name)
            {
                case "radsdt":
                    lbdl.Text = "Tìm Theo Số ĐT";
                    kieu = KieuTim.SoDT;
                    break;
                case "radtenhanghoacung":
                    lbdl.Text = "Tìm Theo Hàng Hóa CC";
                    kieu = KieuTim.HHCungCap;
                    break;
                case "radtenncc":
                    lbdl.Text = "Tìm Theo Tên NCC";
                    kieu = KieuTim.TenNhaCC;
                    break;
                default:
                    break;
            }
        }

        private void btntim_Click(object sender, EventArgs e)
        {
            string data = txtThongTinTimKiemNCC.Text;
            List<NhaCungCap> ds = new List<NhaCungCap>();
            switch (kieu)
            {
                case KieuTim.SoDT:
                    ds = nhc.TimTheoSoDT(data);
                    if (ds.Count > 0)
                        LoadLV(ds);
                    else MessageBox.Show("tìm Mãi Mà Chẳng thấy");

                    break;
                case KieuTim.TenNhaCC:
                    ds = nhc.TimTheoTenNCC(data);
                    if (ds.Count > 0)
                        LoadLV(ds);
                    else MessageBox.Show("tìm Mãi Mà Chẳng thấy");
                    break;
                case KieuTim.HHCungCap:
                    break;
                default:
                    break;
            }
        }

        private void btnload_Click(object sender, EventArgs e)
        {
            LoadLV(nhc.GetAll().ToList());
        }

        private void btnXoaNCC_Click(object sender, EventArgs e)
        {
            //DialogResult rs = new DialogResult();
            if (lvNhaCungCap.SelectedItems.Count > 0)
            {
                String ma = lvNhaCungCap.SelectedItems[0].SubItems[0].Text;
                NhaCungCap nhcc = nhc.getByIdDetail(ma);
                //bool xoa = nhc.Delete(nhcc);
                bool xoa = nhc.Delete(nhcc);
                if (xoa)
                {
                    MessageBox.Show("Xóa Thành Công");
                    LoadLV(nhc.GetAll().ToList());
                }

                else
                {
                    MessageBox.Show("Thất Bại ");
                }

            }
        }

        private void btnCapNhapNCC_Click(object sender, EventArgs e)
        {
            //cai nay ai lam vay hinh nhu nguyet hoac tam 
            //m thu lay bai moi ve thu xem tn 
            //gan nguoc het ruj,tui nay lam ma ko chay ham hay sao y
            //FormThemNCC. = mancc;
            state = true;
            int i = lvNhaCungCap.SelectedItems.Count - 1;
            mancc = lvNhaCungCap.SelectedItems[i].SubItems[0].Text;
            FormThemNCC fr = new FormThemNCC();
            fr.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            fr.ShowDialog();



        }

    }
}
